<?php

define('DIR_ROOT', dirname(__FILE__));

// Incluir la lógica del modelo
require_once(DIR_ROOT . '/lib/model/Usuario.class.php');

require_once(DIR_ROOT . '/lib/nusoap-0.9.5/lib/nusoap.php');

$wsdl = (!empty($_SERVER['HTTPS']) ? "https://" : "http://") . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] . 'webService.php?wsdl';
$client = new nusoap_client($wsdl, 'wsdl');
$err = $client->getError();
if ($err) {
    // Display the error
    echo '<p><b>Constructor error: ' . $err . '</b></p>';
    // At this point, you know the call that follows will fail
}

if (isset($_POST['usuario'])) {
  $r = $_POST['usuario'];
  $errores = '';
  if (!$r['email'])
    $errores .= 'Email requierido<br>';
  elseif (!preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', $r['email']))
    $errores .= 'Email invalido<br>';
  if (isset($_POST['registrar']) && !$errores) {
    if (!$r['nombres'])
      $errores .= 'Nombres requieridos<br>';
    if (!$r['fecha_nacimiento'])
      $errores .= 'Fecha de nacimiento requerida<br>';
    elseif (!preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $r['fecha_nacimiento']))
      $errores .= 'Fecha de nacimiento invalida<br>';
    if (!$r['habilidades'])
      $errores .= 'Habilidades requeridas<br>';
    if ($errores)
      echo $errores;
    else {
      $nombres = $r['nombres'];
      $email = $r['email'];
      $fecha_nacimiento = $r['fecha_nacimiento'];
      $habilidades = explode(',', trim($r['habilidades']));
      $params = array(
          'nombres' => $nombres,
          'email' => $email,
          'fecha_nacimiento' => $fecha_nacimiento,
          'habilidades' => $habilidades);
      $result = $client->call('registrarUsuarioService', $params);
      if ($client->fault) {
          echo '<p><b>Fault: ';
          print_r($result);
          echo '</b></p>';
      } else {
          // Check for errors
          $err = $client->getError();
          if ($err) {
              // Display the error
              echo '<p><b>Error: ' . $err . '</b></p>';
          } else {
              // Display the result
              print_r($result);
          }
      }
    }
  } elseif (isset($_POST['buscar']) && !$errores) {
    $response = $client->call('buscarUsuarioService', array('email' => $r['email']));
    if ($response != 'Usuario no encontrado') {
      echo base64_decode ($response);
      header('Content-type: application/pdf');
    } else {
      print_r($response);
    }
  }
}

// Instanciando el objeto de la pagina
require_once(DIR_ROOT . '/vista/form.php');